Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address import performance issues #5734

Merged
merged 2 commits into from
Aug 2, 2023
Merged

Conversation

shemnon
Copy link
Contributor

@shemnon shemnon commented Jul 31, 2023

PR description

Address a performance regression observed in import testing -

  • ensure we are on a single tuweni version
  • factor out an unneeded concatenate

Fixed Issue(s)

* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
@github-actions
Copy link

  • I thought about documentation and added the doc-change-required label to this PR if updates are required.
  • I thought about the changelog and included a changelog update if required.
  • If my PR includes database changes (e.g. KeyValueSegmentIdentifier) I have thought about compatibility and performed forwards and backwards compatibility tests

Copy link
Contributor

@macfarla macfarla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ahamlat
Copy link
Contributor

ahamlat commented Aug 1, 2023

The results of microbenchmarking for both methods indicate that the new implementation, which avoids concatenation, shows a marginal performance improvement :

Benchmark                                                         Mode  Cnt    Score   Error  Units
BenchmarkEncodeOpaqueBytes.benchmarkEncodeOpaqueBytesConcatenate  avgt   50  709.356 ± 5.901  ns/op
BenchmarkEncodeOpaqueBytes.benchmarkEncodeOpaqueBytesEncode       avgt   50  703.564 ± 1.937  ns/op

The PR also fixes the performance regression in 23.7.0

image

@macfarla macfarla merged commit 33751dc into hyperledger:main Aug 2, 2023
8 checks passed
garyschulte pushed a commit that referenced this pull request Aug 3, 2023
* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
@garyschulte garyschulte mentioned this pull request Aug 3, 2023
garyschulte added a commit that referenced this pull request Aug 3, 2023
* Address import performance issues (#5734)
* 23.7.1-RC burn-in rev

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
daniellehrner pushed a commit to daniellehrner/besu that referenced this pull request Aug 4, 2023
* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
daniellehrner pushed a commit to daniellehrner/besu that referenced this pull request Aug 4, 2023
* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
elenduuche pushed a commit to elenduuche/besu that referenced this pull request Aug 16, 2023
* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
daniellehrner added a commit that referenced this pull request Aug 22, 2023
* added missing methods to transaction interface, created new AccessListEntry interface to add it to the transaction interface

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make smart contract permissioning features work with london fork (#5727)

* Make smart contract permissioning features work with london fork

Override the transactionSimulator's default TransactionValidationParams with one that allows for exceeding the account balance (which effectively zeros the baseFee).
This mimics the way that eth_estimateGas and eth_call are implemented.
Similar change to #5277

Update ATs to use londonBlock (existing genesis allocs necessitate zeroBaseFee as well)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Correctly cache the TransactionValidator instance on creation (#5726)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reference tests 12.3 (#5733)

Update Reference Tests to 12.3
* fix decoding error
* add ignored field
* update module

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Return all not selected transactions, not only invalid ones. (#5711)

This way it is possible for the caller to have more data about the selection
process.

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Address import performance issues (#5734)

* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add type to PendingTransactionDetail (#5729)

* add type

* update changelog

---------

Signed-off-by: George Tebrean <george@web3labs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Migrate to blobGas in execution-spec-tests (#5745)

Execution-spec-tests migrated from DataGas to BlobGas and checks for its
inclusion in tests now. Add needed support.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove AccessListEntry interface and move its class to the datatypes module

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add missing cost methods to interface, add method to get RLP of transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating hash with updated reference tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadocs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed compiler errors in integration tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* retro blobGas name change into Transaction interface

Signed-off-by: garyschulte <garyschulte@gmail.com>

* removed methods from transaction interface which values can be derived through other means. Added new method encoded to return the encoded tx in Bytes instead of RLPOutput

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
garyschulte added a commit to garyschulte/besu that referenced this pull request Aug 28, 2023
* added missing methods to transaction interface, created new AccessListEntry interface to add it to the transaction interface

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make smart contract permissioning features work with london fork (hyperledger#5727)

* Make smart contract permissioning features work with london fork

Override the transactionSimulator's default TransactionValidationParams with one that allows for exceeding the account balance (which effectively zeros the baseFee).
This mimics the way that eth_estimateGas and eth_call are implemented.
Similar change to hyperledger#5277

Update ATs to use londonBlock (existing genesis allocs necessitate zeroBaseFee as well)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Correctly cache the TransactionValidator instance on creation (hyperledger#5726)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reference tests 12.3 (hyperledger#5733)

Update Reference Tests to 12.3
* fix decoding error
* add ignored field
* update module

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Return all not selected transactions, not only invalid ones. (hyperledger#5711)

This way it is possible for the caller to have more data about the selection
process.

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Address import performance issues (hyperledger#5734)

* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add type to PendingTransactionDetail (hyperledger#5729)

* add type

* update changelog

---------

Signed-off-by: George Tebrean <george@web3labs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Migrate to blobGas in execution-spec-tests (hyperledger#5745)

Execution-spec-tests migrated from DataGas to BlobGas and checks for its
inclusion in tests now. Add needed support.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove AccessListEntry interface and move its class to the datatypes module

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add missing cost methods to interface, add method to get RLP of transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating hash with updated reference tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadocs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed compiler errors in integration tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* retro blobGas name change into Transaction interface

Signed-off-by: garyschulte <garyschulte@gmail.com>

* removed methods from transaction interface which values can be derived through other means. Added new method encoded to return the encoded tx in Bytes instead of RLPOutput

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
garyschulte added a commit to garyschulte/besu that referenced this pull request Aug 28, 2023
* added missing methods to transaction interface, created new AccessListEntry interface to add it to the transaction interface

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make smart contract permissioning features work with london fork (hyperledger#5727)

* Make smart contract permissioning features work with london fork

Override the transactionSimulator's default TransactionValidationParams with one that allows for exceeding the account balance (which effectively zeros the baseFee).
This mimics the way that eth_estimateGas and eth_call are implemented.
Similar change to hyperledger#5277

Update ATs to use londonBlock (existing genesis allocs necessitate zeroBaseFee as well)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Correctly cache the TransactionValidator instance on creation (hyperledger#5726)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reference tests 12.3 (hyperledger#5733)

Update Reference Tests to 12.3
* fix decoding error
* add ignored field
* update module

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Return all not selected transactions, not only invalid ones. (hyperledger#5711)

This way it is possible for the caller to have more data about the selection
process.

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Address import performance issues (hyperledger#5734)

* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add type to PendingTransactionDetail (hyperledger#5729)

* add type

* update changelog

---------

Signed-off-by: George Tebrean <george@web3labs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Migrate to blobGas in execution-spec-tests (hyperledger#5745)

Execution-spec-tests migrated from DataGas to BlobGas and checks for its
inclusion in tests now. Add needed support.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove AccessListEntry interface and move its class to the datatypes module

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add missing cost methods to interface, add method to get RLP of transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating hash with updated reference tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadocs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed compiler errors in integration tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* retro blobGas name change into Transaction interface

Signed-off-by: garyschulte <garyschulte@gmail.com>

* removed methods from transaction interface which values can be derived through other means. Added new method encoded to return the encoded tx in Bytes instead of RLPOutput

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
garyschulte added a commit to garyschulte/besu that referenced this pull request Aug 28, 2023
* added missing methods to transaction interface, created new AccessListEntry interface to add it to the transaction interface

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make smart contract permissioning features work with london fork (hyperledger#5727)

* Make smart contract permissioning features work with london fork

Override the transactionSimulator's default TransactionValidationParams with one that allows for exceeding the account balance (which effectively zeros the baseFee).
This mimics the way that eth_estimateGas and eth_call are implemented.
Similar change to hyperledger#5277

Update ATs to use londonBlock (existing genesis allocs necessitate zeroBaseFee as well)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Correctly cache the TransactionValidator instance on creation (hyperledger#5726)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reference tests 12.3 (hyperledger#5733)

Update Reference Tests to 12.3
* fix decoding error
* add ignored field
* update module

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Return all not selected transactions, not only invalid ones. (hyperledger#5711)

This way it is possible for the caller to have more data about the selection
process.

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Address import performance issues (hyperledger#5734)

* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add type to PendingTransactionDetail (hyperledger#5729)

* add type

* update changelog

---------

Signed-off-by: George Tebrean <george@web3labs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Migrate to blobGas in execution-spec-tests (hyperledger#5745)

Execution-spec-tests migrated from DataGas to BlobGas and checks for its
inclusion in tests now. Add needed support.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove AccessListEntry interface and move its class to the datatypes module

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add missing cost methods to interface, add method to get RLP of transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating hash with updated reference tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadocs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed compiler errors in integration tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* retro blobGas name change into Transaction interface

Signed-off-by: garyschulte <garyschulte@gmail.com>

* removed methods from transaction interface which values can be derived through other means. Added new method encoded to return the encoded tx in Bytes instead of RLPOutput

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
eum602 pushed a commit to lacchain/besu that referenced this pull request Nov 3, 2023
* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
eum602 pushed a commit to lacchain/besu that referenced this pull request Nov 3, 2023
* added missing methods to transaction interface, created new AccessListEntry interface to add it to the transaction interface

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make smart contract permissioning features work with london fork (hyperledger#5727)

* Make smart contract permissioning features work with london fork

Override the transactionSimulator's default TransactionValidationParams with one that allows for exceeding the account balance (which effectively zeros the baseFee).
This mimics the way that eth_estimateGas and eth_call are implemented.
Similar change to hyperledger#5277

Update ATs to use londonBlock (existing genesis allocs necessitate zeroBaseFee as well)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Correctly cache the TransactionValidator instance on creation (hyperledger#5726)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reference tests 12.3 (hyperledger#5733)

Update Reference Tests to 12.3
* fix decoding error
* add ignored field
* update module

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Return all not selected transactions, not only invalid ones. (hyperledger#5711)

This way it is possible for the caller to have more data about the selection
process.

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Address import performance issues (hyperledger#5734)

* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add type to PendingTransactionDetail (hyperledger#5729)

* add type

* update changelog

---------

Signed-off-by: George Tebrean <george@web3labs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Migrate to blobGas in execution-spec-tests (hyperledger#5745)

Execution-spec-tests migrated from DataGas to BlobGas and checks for its
inclusion in tests now. Add needed support.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove AccessListEntry interface and move its class to the datatypes module

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add missing cost methods to interface, add method to get RLP of transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating hash with updated reference tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadocs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed compiler errors in integration tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* retro blobGas name change into Transaction interface

Signed-off-by: garyschulte <garyschulte@gmail.com>

* removed methods from transaction interface which values can be derived through other means. Added new method encoded to return the encoded tx in Bytes instead of RLPOutput

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
NickSneo pushed a commit to NickSneo/besu that referenced this pull request Nov 12, 2023
* added missing methods to transaction interface, created new AccessListEntry interface to add it to the transaction interface

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* CHANGELOG.md entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadoc entry

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Update datatypes/src/main/java/org/hyperledger/besu/datatypes/Transaction.java

Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Make smart contract permissioning features work with london fork (hyperledger#5727)

* Make smart contract permissioning features work with london fork

Override the transactionSimulator's default TransactionValidationParams with one that allows for exceeding the account balance (which effectively zeros the baseFee).
This mimics the way that eth_estimateGas and eth_call are implemented.
Similar change to hyperledger#5277

Update ATs to use londonBlock (existing genesis allocs necessitate zeroBaseFee as well)

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

* changelog
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>

---------

Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Correctly cache the TransactionValidator instance on creation (hyperledger#5726)

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Reference tests 12.3 (hyperledger#5733)

Update Reference Tests to 12.3
* fix decoding error
* add ignored field
* update module

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Return all not selected transactions, not only invalid ones. (hyperledger#5711)

This way it is possible for the caller to have more data about the selection
process.

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Address import performance issues (hyperledger#5734)

* ensure we are on a single tuweni version
* factor out an unneeded concatenate

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Add type to PendingTransactionDetail (hyperledger#5729)

* add type

* update changelog

---------

Signed-off-by: George Tebrean <george@web3labs.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* Migrate to blobGas in execution-spec-tests (hyperledger#5745)

Execution-spec-tests migrated from DataGas to BlobGas and checks for its
inclusion in tests now. Add needed support.

Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* remove AccessListEntry interface and move its class to the datatypes module

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* add missing cost methods to interface, add method to get RLP of transaction

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* updating hash with updated reference tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* added missing javadocs

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* fixed compiler errors in integration tests

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

* retro blobGas name change into Transaction interface

Signed-off-by: garyschulte <garyschulte@gmail.com>

* removed methods from transaction interface which values can be derived through other means. Added new method encoded to return the encoded tx in Bytes instead of RLPOutput

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>

---------

Signed-off-by: Daniel Lehrner <daniel.lehrner@consensys.net>
Signed-off-by: Simon Dudley <simon.dudley@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Signed-off-by: George Tebrean <george@web3labs.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
Co-authored-by: Simon Dudley <simon.dudley@consensys.net>
Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-authored-by: Danno Ferrin <danno.ferrin@swirldslabs.com>
Co-authored-by: George Tebrean <99179176+gtebrean@users.noreply.github.com>
Co-authored-by: garyschulte <garyschulte@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants